I. Field
The following description relates generally to wireless communications, and more particularly to utilizing circular buffer based rate matching for transferring data in a wireless communication system.
II. Background
Wireless communication systems are widely deployed to provide various types of communication; for instance, voice and/or data can be provided via such wireless communication systems. A typical wireless communication system, or network, can provide multiple users access to one or more shared resources (e.g., bandwidth, transmit power, . . . ). For instance, a system can use a variety of multiple access techniques such as Frequency Division Multiplexing (FDM), Time Division Multiplexing (TDM), Code Division Multiplexing (CDM), Orthogonal Frequency Division Multiplexing (OFDM), and others.
Generally, wireless multiple-access communication systems can simultaneously support communication for multiple access terminals. Each access terminal can communicate with one or more base stations via transmissions on forward and reverse links. The forward link (or downlink) refers to the communication link from base stations to access terminals, and the reverse link (or uplink) refers to the communication link from access terminals to base stations. This communication link can be established via a single-in-single-out, multiple-in-single-out or a multiple-in-multiple-out (MIMO) system.
Wireless communication systems oftentimes employ one or more base stations that provide a coverage area. A typical base station can transmit multiple data streams for broadcast, multicast and/or unicast services, wherein a data stream may be a stream of data that can be of independent reception interest to an access terminal. An access terminal within the coverage area of such base station can be employed to receive one, more than one, or all the data streams carried by the composite stream. Likewise, an access terminal can transmit data to the base station or another access terminal.
Recently, turbo code, which is a high performance error correction code, has been developed to enhance data transfer over limited-bandwidth communication links in the presence of data corrupting noise. The turbo code can be utilized by any wireless communication apparatus (e.g., base station, access terminal, . . . ) for encoding data to be transmitted by that respective wireless communication apparatus. A turbo code encoder can integrate parity bits with systematic bits (e.g., payload data, . . . ), which increases an overall number of bits to be transmitted by the wireless communication apparatus (e.g., if X bits are inputted to the turbo code encoder, then approximately 3X bits can be outputted from the turbo code encoder).
The overall number of coded bits outputted from the turbo code encoder to be transported over a channel, however, can differ from a number of bits that the wireless communication apparatus is able to send upon the channel (e.g., the number of bits that the wireless communication apparatus is able to send can be a function of an assignment, a property or characteristic of the wireless communication apparatus and/or a wireless communication environment in general, . . . ). For instance, the wireless communication apparatus may be unable to transport all of the coded bits since the number of coded bits can exceed the number of bits that the wireless communication apparatus is able to send upon the channel. Pursuant to another illustration, the number of coded bits can be less than the number of bits that the wireless communication apparatus is able to send upon the channel. Thus, rate matching can be performed to alter the number of coded bits to be sent over the channel to match the number of bits that the wireless communication apparatus is able to send upon the channel; more particularly, rate matching can puncture bits (e.g., delete bits) to decrease the rate (e.g., when the number of coded bits is greater than the number of bits that can be sent upon the channel) or repeat bits to increase the rate (e.g., when the number of coded bits is less than the number of bits that can be sent upon the channel). By way of example, when the number of coded bits is approximately 3X bits (e.g., based upon X bits being inputted to the turbo code encoder) and the approximately 3X bits exceeds the number of bits that, can be sent upon the channel, then fewer than 3X bits can be transmitted from the wireless communication apparatus upon performing rate matching. Conventional rate matching techniques (e.g., such as rate matching in R99, R5, R6, . . . ), however, can be complicated and primarily intended for transport channel multiplexing. For instance, these common rate matching techniques can involve several complicated stages of puncturing or repetition and bit-collection algorithms, which can be further complicated by the fact that in certain operating environments a single transport block can be segmented into code blocks of differing sizes.